<template><div><p>本文档最新版为 <a href="https://learnku.com/docs/laravel/10.x" target="_blank" rel="noopener noreferrer">10.x</a>，旧版本可能放弃维护，推荐阅读最新版！</p>
<h2 id="laravel-安装指南" tabindex="-1"><a class="header-anchor" href="#laravel-安装指南"><span>Laravel 安装指南</span></a></h2>
<ul>
<li><a href="#installation">安装</a>
<ul>
<li><a href="#server-requirements">服务器要求</a></li>
<li><a href="#installing-laravel">安装 Laravel</a></li>
<li><a href="#configuration">配置</a></li>
</ul>
</li>
<li><a href="#web-server-configuration">Web 服务器配置</a>
<ul>
<li><a href="#pretty-urls">优雅链接</a></li>
</ul>
</li>
</ul>
<h2 id="安装" tabindex="-1"><a class="header-anchor" href="#安装"><span>安装</span></a></h2>
<blockquote>
<p>{video} 如果你喜欢看视频学习，Laracasts 为你提供了免费而又全面的 Laravel 教程。</p>
</blockquote>
<h3 id="服务器要求" tabindex="-1"><a class="header-anchor" href="#服务器要求"><span>服务器要求</span></a></h3>
<p>Laravel 框架对系统有一些要求。所有这些要求 Laravel Homestead 虚拟机都能满足，因此强烈建议你使用 Homestead 作为你本地的 Laravel 开发环境。</p>
<p>但如果你不使用 Homestead，则需要确保你的服务器符合以下要求：</p>
<ul>
<li>PHP &gt;= 7.0.0</li>
<li>PHP OpenSSL 扩展</li>
<li>PHP PDO 扩展</li>
<li>PHP Mbstring 扩展</li>
<li>PHP Tokenizer 扩展</li>
<li>PHP XML 扩展</li>
</ul>
<h3 id="安装-laravel" tabindex="-1"><a class="header-anchor" href="#安装-laravel"><span>安装 Laravel</span></a></h3>
<p>Laravel 利用 <a href="https://getcomposer.org/" target="_blank" rel="noopener noreferrer">Composer</a> 来管理依赖。所以，在使用 Laravel 之前，请确保你的机器上安装了 Composer。</p>
<h4 id="通过-laravel-安装器" tabindex="-1"><a class="header-anchor" href="#通过-laravel-安装器"><span>通过 Laravel 安装器</span></a></h4>
<p>首先，使用 Composer 下载 Laravel 安装程序：</p>
<div class="language-php line-numbers-mode" data-highlighter="prismjs" data-ext="php" data-title="php"><pre v-pre class="language-php"><code><span class="line">composer <span class="token keyword">global</span> <span class="token keyword">require</span> <span class="token string double-quoted-string">"laravel/installer"</span></span>
<span class="line"></span></code></pre>
<div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0"><div class="line-number"></div></div></div><p>确保 <code v-pre>$HOME/.composer/vendor/bin</code> 目录（或你的操作系统的等效目录）已经放在你的环境变量 $PATH 中，以便系统可以找到 <code v-pre>laravel</code> 的可执行文件。</p>
<p>安装之后， <code v-pre>laravel new</code> 命令会在你指定的目录中创建一个新的 Laravel 项目。例如，<code v-pre>laravel new blog</code> 命令会创建一个名为 <code v-pre>blog</code> 的目录，其中包含所有已经安装好的 Laravel 的依赖项：</p>
<div class="language-php line-numbers-mode" data-highlighter="prismjs" data-ext="php" data-title="php"><pre v-pre class="language-php"><code><span class="line">laravel <span class="token keyword">new</span> <span class="token class-name">blog</span></span>
<span class="line"></span></code></pre>
<div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0"><div class="line-number"></div></div></div><h4 id="通过-composer-创建项目" tabindex="-1"><a class="header-anchor" href="#通过-composer-创建项目"><span>通过 Composer 创建项目</span></a></h4>
<p>或者，你还可以通过在终端中运行 <code v-pre>create-project</code> 命令来安装 Laravel：</p>
<div class="language-php line-numbers-mode" data-highlighter="prismjs" data-ext="php" data-title="php"><pre v-pre class="language-php"><code><span class="line">composer create<span class="token operator">-</span>project <span class="token operator">--</span>prefer<span class="token operator">-</span>dist laravel<span class="token operator">/</span>laravel blog <span class="token string double-quoted-string">"5.5.*"</span></span>
<span class="line"></span></code></pre>
<div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0"><div class="line-number"></div></div></div><h4 id="本地开发服务器" tabindex="-1"><a class="header-anchor" href="#本地开发服务器"><span>本地开发服务器</span></a></h4>
<p>如果你在本地安装了 PHP，并且想使用 PHP 内置的开发服务器来为你的应用程序提供服务，那就使用 Artisan 命令 <code v-pre>serve</code>。这个命令会在 <code v-pre>http://localhost:8000</code> 上启动开发服务器：</p>
<div class="language-php line-numbers-mode" data-highlighter="prismjs" data-ext="php" data-title="php"><pre v-pre class="language-php"><code><span class="line">php artisan serve</span>
<span class="line"></span></code></pre>
<div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0"><div class="line-number"></div></div></div><p>当然，对于本地开发来说，最好的选择还是 <a href="https://learnku.com/docs/laravel/5.5/homestead" target="_blank" rel="noopener noreferrer">Homestead</a> 和 <a href="https://learnku.com/docs/laravel/5.5/valet" target="_blank" rel="noopener noreferrer">Valet</a>。</p>
<h3 id="配置" tabindex="-1"><a class="header-anchor" href="#配置"><span>配置</span></a></h3>
<h4 id="public-目录" tabindex="-1"><a class="header-anchor" href="#public-目录"><span>Public 目录</span></a></h4>
<p>安装 Laravel 之后，你要将 Web 服务器的根目录指向 <code v-pre>public</code> 目录。该目录下的 <code v-pre>index.php</code> 文件将作为所有进入应用程序的 HTTP 请求的前端控制器。</p>
<h4 id="配置文件" tabindex="-1"><a class="header-anchor" href="#配置文件"><span>配置文件</span></a></h4>
<p>Laravel 框架的所有配置文件都放在 <code v-pre>config</code> 目录中。每个选项都有注释，方便你随时查看文件并熟悉可用的选项。</p>
<h4 id="目录权限" tabindex="-1"><a class="header-anchor" href="#目录权限"><span>目录权限</span></a></h4>
<p>安装完 Laravel 后，你可能需要给这两个文件配置读写权限：<code v-pre>storage</code> 目录和 <code v-pre>bootstrap/cache</code> 目录应该允许 Web 服务器写入，否则 Laravel 将无法运行。如果你使用的是 <a href="https://learnku.com/docs/laravel/5.5/homestead" target="_blank" rel="noopener noreferrer">Homestead</a> 虚拟机，这些权限已经为你设置好了。</p>
<h4 id="应用密钥" tabindex="-1"><a class="header-anchor" href="#应用密钥"><span>应用密钥</span></a></h4>
<p>安装 Laravel 之后下一件应该做的事就是将应用程序的密钥设置为随机字符串。如果你是通过 Composer 或 Laravel 安装器安装的 Laravel，那这个密钥已经为你通过 <code v-pre>php artisan key:generate</code> 命令设置好了。</p>
<p>通常来说，这个字符串长度为 32 个字符。密钥可以在 <code v-pre>.env</code> 环境文件中设置。前提是你要将 <code v-pre>.env.example</code> 文件重命名为 <code v-pre>.env</code>。<strong>如果应用程序密钥没有被设置，就不能确保你的用户会话和其他加密数据的安全！</strong></p>
<h4 id="更多的配置" tabindex="-1"><a class="header-anchor" href="#更多的配置"><span>更多的配置</span></a></h4>
<p>除了以上的配置，Laravel 几乎就不需要再配置什么了。你随时就能开发！但是，可能的话，还是希望你查看 <code v-pre>config/app.php</code> 文件及其注释。它包含几个你可能想要根据你的应用来更改的选项，比如 <code v-pre>timezone</code> 和 <code v-pre>locale</code>。</p>
<p>你还可能想要配置 Laravel 的其他几个组件，例如：</p>
<h2 id="web-服务器配置" tabindex="-1"><a class="header-anchor" href="#web-服务器配置"><span>Web 服务器配置</span></a></h2>
<h3 id="优雅链接" tabindex="-1"><a class="header-anchor" href="#优雅链接"><span>优雅链接</span></a></h3>
<h4 id="apache" tabindex="-1"><a class="header-anchor" href="#apache"><span>Apache</span></a></h4>
<p>Laravel 使用 <code v-pre>public/.htaccess</code> 文件来为前端控制器提供隐藏了 <code v-pre>index.php</code> 的优雅链接。如果你的 Laravel 使用了 Apache 作为服务容器，请务必启用 <code v-pre>mod_rewrite</code>模块，让服务器能够支持 <code v-pre>.htaccess</code> 文件的解析。</p>
<p>如果 Laravel 附带的 <code v-pre>.htaccess</code> 文件不起作用，就尝试用下面的方法代替：</p>
<div class="language-php line-numbers-mode" data-highlighter="prismjs" data-ext="php" data-title="php"><pre v-pre class="language-php"><code><span class="line">Options <span class="token operator">+</span>FollowSymLinks</span>
<span class="line">RewriteEngine On</span>
<span class="line"></span>
<span class="line">RewriteCond <span class="token operator">%</span><span class="token punctuation">{</span><span class="token constant">REQUEST_FILENAME</span><span class="token punctuation">}</span> <span class="token operator">!</span><span class="token operator">-</span>d</span>
<span class="line">RewriteCond <span class="token operator">%</span><span class="token punctuation">{</span><span class="token constant">REQUEST_FILENAME</span><span class="token punctuation">}</span> <span class="token operator">!</span><span class="token operator">-</span>f</span>
<span class="line">RewriteRule <span class="token operator">^</span> index<span class="token operator">.</span>php <span class="token punctuation">[</span><span class="token constant">L</span><span class="token punctuation">]</span></span>
<span class="line"></span></code></pre>
<div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h4 id="nginx" tabindex="-1"><a class="header-anchor" href="#nginx"><span>Nginx</span></a></h4>
<p>如果你使用的是 Nginx，在你的站点配置中加入以下内容，它将会将所有请求都引导到 <code v-pre>index.php</code> 前端控制器：</p>
<div class="language-php line-numbers-mode" data-highlighter="prismjs" data-ext="php" data-title="php"><pre v-pre class="language-php"><code><span class="line">location <span class="token operator">/</span> <span class="token punctuation">{</span></span>
<span class="line">    <span class="token class-name type-declaration">try_files</span> <span class="token variable">$uri</span> <span class="token variable">$uri</span><span class="token operator">/</span> <span class="token operator">/</span>index<span class="token operator">.</span>php<span class="token operator">?</span><span class="token variable">$query_string</span><span class="token punctuation">;</span></span>
<span class="line"><span class="token punctuation">}</span></span>
<span class="line"></span></code></pre>
<div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>当然，使用 <a href="https://learnku.com/docs/laravel/5.5/homestead" target="_blank" rel="noopener noreferrer">Homestead</a> 或者 <a href="https://learnku.com/docs/laravel/5.5/valet" target="_blank" rel="noopener noreferrer">Valet</a> 时，你无需配置这些。</p>
<h2 id="译者署名" tabindex="-1"><a class="header-anchor" href="#译者署名"><span>译者署名</span></a></h2>
<table>
<thead>
<tr>
<th>用户名</th>
<th>头像</th>
<th>职能</th>
<th>签名</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://learnku.com/users/5350" target="_blank" rel="noopener noreferrer">@JokerLinly</a></td>
<td><img src="https://cdn.learnku.com/uploads/avatars/5350_1481857380.jpg" alt="5350_1481857380.jpg"></td>
<td>翻译</td>
<td>Stay Hungry. Stay Foolish.</td>
</tr>
</tbody>
</table>
<hr>
<blockquote>
<p>{note} 欢迎任何形式的转载，但请务必注明出处，尊重他人劳动共创开源社区。</p>
<p>转载请注明：本文档由 Laravel China 社区 <a href="https://laravel-china.org/" target="_blank" rel="noopener noreferrer">laravel-china.org</a> 组织翻译，详见 <a href="https://learnku.com/laravel/t/5756/laravel-55-document-translation-call-come-and-join-the-translation" target="_blank" rel="noopener noreferrer">翻译召集帖</a>。</p>
<p>文档永久地址： <a href="https://learnku.com/docs/laravel" target="_blank" rel="noopener noreferrer">《Laravel 中文文档》</a></p>
</blockquote>
</div></template>


